package com.woniu108.product.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu108.carService.commos.dto.ServiceInfoDto;
import com.woniu108.product.model.ServiceInfo;
import com.woniu108.product.param.*;

import java.util.List;

/**
 * <p>
 * 服务信息表 服务类
 * </p>
 *
 * @author yanxi
 * @since 2024-05-23
 */
public interface ServiceInfoService extends IService<ServiceInfo> {
    /**
     * 查所有的服务信息，或单个种类服务信息
     *
     * @param sTid    服务种类编号
     * @param storeId
     * @return 店家服务信息集合
     */
    List<ServiceInfoDto> findAllServiceInfo(Integer sTid, Integer storeId);
    /**
     * 查店家自己的服务信息
     * @param storeAdminId 店家管理员id
     * @return 店家服务信息集合
     */
    List<ServiceInfoDto> findMyServiceInfo(String storeAdminId);

    /**
     * 新增服务信息
     * @param param 服务名称,服务种类编号,服务描述,基础总服务费,门店账号id
     * @return boolean值
     */
    Boolean insertServiceInfo(InsertServiceInfoParam param);
    /**
     * 修改服务信息
     * @param param 服务id,新服务名称,新服务描述,新基础总服务费,门店账号id
     * @return boolean值
     */
    Boolean updateServiceInfo(UpdateServiceInfoParam param);

    /**
     * 禁用服务信息
     * @param param 服务id,门店账号id
     * @return boolean值
     */
    Boolean banServiceInfo(BanServiceInfoParam param);
    /**
     * 禁用服务信息
     * @param param 服务id,门店账号id
     * @return boolean值
     */
    Boolean unlockServiceInfo(UnlockServiceInfoParam param);

    /**
     * 删除服务详情
     * @param param 服务id,门店账号id
     * @return boolean值
     */
    Boolean deleteServiceInfo(DeleteServiceInfoParam param);

    /**
     * 通过服务id查服务信息
     * @param serviceId 服务id
     * @return 服务信息
     */
    ServiceInfoDto findServiceInfoById(Integer serviceId);
    /**
     * 通过流程ID查服务详情是否存在
     * @param streamId 流程ID
     * @return boolean值
     */
    Boolean findServiceInfoByStreamId(Integer streamId);
}
